listbox: Don't crash if cursor_row is NULL in real_focus
authorAlexander Larsson <alexl@redhat.com>
Thu, 19 Sep 2013 20:37:53 +0000 (22:37 +0200)
committerAlexander Larsson <alexl@redhat.com>
Thu, 19 Sep 2013 20:38:41 +0000 (22:38 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=708320

gtk/gtklistbox.c

index 241cf6634b2aa7972b5997c1728de045621d8f18..82a2811ec49424051254c12844a426c7921478d3 100644 (file)
@@ -1343,7 +1343,7 @@ gtk_list_box_real_focus (GtkWidget        *widget,
 
       if (direction == GTK_DIR_UP || direction == GTK_DIR_TAB_BACKWARD)
         {
-          i = gtk_list_box_get_previous_visible (list_box, ROW_PRIV (priv->cursor_row)->iter);
+          i = gtk_list_box_get_previous_visible (list_box, ROW_PRIV (GTK_LIST_BOX_ROW (focus_child))->iter);
           while (i != NULL)
             {
               if (gtk_widget_get_sensitive (g_sequence_get (i)))
@@ -1357,7 +1357,7 @@ gtk_list_box_real_focus (GtkWidget        *widget,
         }
       else if (direction == GTK_DIR_DOWN || direction == GTK_DIR_TAB_FORWARD)
         {
-          i = gtk_list_box_get_next_visible (list_box, ROW_PRIV (priv->cursor_row)->iter);
+          i = gtk_list_box_get_next_visible (list_box, ROW_PRIV (GTK_LIST_BOX_ROW (focus_child))->iter);
           while (!g_sequence_iter_is_end (i))
             {
               if (gtk_widget_get_sensitive (g_sequence_get (i)))